MMVis
MMVis (Multimedia MIDI Visualizer) is an attempt to create a PFA clone which performs much better while looking as close as possible to the original. Documentation on the keycombos can be found here. A video showcasing the performance can be seen here. Functionality In order to try to make MMVis compatible with as most devices as possible, it uses OpenGL 1.1 as its renderer, making it compatible with older machines via Windows' software OpenGL renderer when no hardware acceleration is available. Due to how MMVis' code is structured, it's possible to hook any software synthesizer up which supports bypassing [https://msdn.microsoft.com/en-us/library/windows/hardware/ff537532(v=vs.85).aspx modMessage] completely. The only known synthesizer which allows this is OmniMIDI, and there is support for it already built in for an increased performance. MIDI interface support Currently MMVis only supports [[OmniMIDI#Keppy.27s Direct MIDI API .28KDMAPI.29|'KDMAPIs SendDirectData]], but in the distant future it might get support for WinMM to be able to use other MIDI devices. System requirements Recommended * Intel Core i7 or AMD FX or better * A dedicated graphics card capable of OpenGL 1.1 acceleration * OmniMIDI * Windows 8.0 or newer Bearable for Black MIDIs * Intel Core i7 2620M * Integrated graphics capable of OpenGL 1.1 acceleration * OmniMIDI * Windows 7 SP1 Absolute minimum required * At least dual-core CPU (at least 3 cores required to not bottleneck the playback) * Windows XP * OpenGL 1.1 acceleration or software renderer Issues * Due to the playback and rendering thread being separate, if you exit by closing the main window, it'll crash with a very high chance. The reason is unknown. * Because the visualizer updates the notes on a thread separate from the render callback, if there are too many notes to process some notes will be "eaten" before they could even reach the piano roll, hence causing "note tearing". Advantages/Disadvantages Advantages * Much, much faster than PFA * Uses much less RAM than PFA because it parses MIDIs in real time * Includes mmidi's adaptive timer for a better lag compensation * Minimalistic and small * Configurable renderer to limit visible notes for weaker devices * Rendering recovery (when it works) Disadvantages * Way too minimalistic * Not user-friendly * The "note catcher" can stop indefinitely, making the program impossible to exit without using Task Manager. * The rendering recovery code has noticeable artifacts * No WinMM support * Slightly reduced performance due to expensive transitions between .NET and native code * Doesn't work on macOS * Is actually slower than PFA '''Trivia' * The window title is just a joke on Piano From Above's name, and it has nothing to do with the program itself. The officiall name of this program is MMVis. * Rendering the outline for the notes takes almost 6x as much time as it is to render the notes themselves. Without the note outlines the rendering could even get 10x performance improvement with code restructuring. * OpenGL 1.1 is not ideal for modern GPUs because the note rendering can't be batched due to note outline rendering, which could be solved by using shaders on modern OpenGL implementations. * Due to this being slower than PFA, it is considered a failure. Category:MIDI players Category:KDMAPI